home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c14.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
105KB
|
3,949 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
void r257c_header_pass4(T257* C){
X52c_header_pass4(r257run_type(C));
}
void r257with(T257* C,T0* a1,T0* a2){
(/*SFN*/C->_start_position)=(/*RF2*/(((T257*)a1))->_start_position/*4*/);
(/*SFN*/C->_like_what)=(/*RF2*/(((T257*)a1))->_like_what/*12*/);
(/*SFN*/C->_written_mark)=(/*RF2*/(((T257*)a1))->_written_mark/*16*/);
(/*SFN*/C->_run_feature)=a2;
}
T6 r257is_double(T257* C){
T6 R=0;
R=X52is_double(r257run_type(C));
return R;
}
T6 r257is_none(T257* C){
T6 R=0;
R=X52is_none(r257run_type(C));
return R;
}
T0* r257to_runnable(T257* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
T0* _rf=NULL;
r257anchor_cycle_start(C);
_rf=r49top_rf((T49*)(oBC13small_eiffel));
/*[IF*/
if((X334arguments(_rf))==((void*)(NULL))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position(_rf),&se_tmp0)));
}
r257fatal_error(((T0*)ms14_9878));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
(/*SFN*/C->_run_feature)=_rf;
R=((T0*)(C));
}
else if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(_rf))){
R=((T0*)(C));
}
else{
{T257*n=((T257*)malloc(sizeof(*n))/*24*/);
*n=M257;
r257with(n,(T0*)C,_rf);
R=((T0*)n);
}
}
/*FI]*/
_rt=r257run_type(((T257*)R));
/*[IF*/
if(X52is_anchored(_rt)){
_rt=X52to_runnable(_rt,a1);
}
/*FI]*/
r257anchor_cycle_end(C);
return R;
}
T6 r257is_pointer(T257* C){
T6 R=0;
R=X52is_pointer(r257run_type(C));
return R;
}
void r257id_extra_information(T257* C,T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
if(r257is_reference(C)){
r48put_string(((T48*)a1),((T0*)ms52_1476));
}
else{
r48put_string(((T48*)a1),((T0*)ms52_759));
}
/*FI]*/
}
void r257gc_define1(T257* C){
X52gc_define1(r257run_type(C));
}
void r257gc_mark_in(T257* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(r257id(C),a1);
}
T0* r257static_base_class_name(T257* C){
T0* R=NULL;
T0* _bc=NULL;
_bc=r179static_result_base_class((T179*)((/*RF2*/(C)->_like_what/*12*/)));
/*[IF*/
if((_bc)!=((void*)(NULL))){
R=(/*RF2*/(((T51*)_bc))->_name/*18*/);
}
/*FI]*/
return R;
}
void r257c_type_for_external_in(T257* C,T0* a1){
/*[IF*/
if(r257is_reference(C)){
r7append(((T7*)a1),((T0*)ms14_1736a));
r7extend(((T7*)a1),((T3)'\52'));
}
else{
r257c_type_for_result_in(C,a1);
}
/*FI]*/
}
void r257c_type_for_argument_in(T257* C,T0* a1){
X52c_type_for_argument_in(r257run_type(C),a1);
}
T0* r257run_time_mark(T257* C){
T0* R=NULL;
/*[IF*/
if((r257run_type(C))!=((void*)(NULL))){
R=X52run_time_mark(r257run_type(C));
}
/*FI]*/
return R;
}
T0* r257run_class(T257* C){
T0* R=NULL;
R=r49run_class(r257run_type(C));
return R;
}
T6 r257is_dummy_expanded(T257* C){
T6 R=0;
R=X52is_dummy_expanded(r257run_type(C));
return R;
}
void r257fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T6 r257is_expanded(T257* C){
T6 R=0;
R=X52is_expanded(r257run_type(C));
return R;
}
void r257c_type_for_result_in(T257* C,T0* a1){
X52c_type_for_result_in(r257run_type(C),a1);
}
void r257c_type_for_target_in(T257* C,T0* a1){
X52c_type_for_target_in(r257run_type(C),a1);
}
T0* r257expanded_initializer(T257* C){
T0* R=NULL;
R=X52expanded_initializer(r257run_type(C));
return R;
}
T6 r257is_basic_eiffel_expanded(T257* C){
T6 R=0;
R=X52is_basic_eiffel_expanded(r257run_type(C));
return R;
}
void r257demangling_in(T257* C,T0* a1){
/*[IF*/
if(r257is_reference(C)){
r7extend(((T7*)a1),((T3)'R'));
}
else{
r7extend(((T7*)a1),((T3)'E'));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r257run_time_mark(C));
}
void r257c_initialize(T257* C){
X52c_initialize(r257run_type(C));
}
T6 r257is_character(T257* C){
T6 R=0;
R=X52is_character(r257run_type(C));
return R;
}
T0* r257base_class_name(T257* C){
T0* R=NULL;
R=X52base_class_name(r257run_type(C));
return R;
}
void r257c_frame_descriptor(T257* C){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
/*[IF*/
if(r257is_reference(C)){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
}
else{
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
}
/*FI]*/
r2append_in(r257id(C),oBC13c_frame_descriptor_format);
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
}
T6 r257is_bit(T257* C){
T6 R=0;
R=X52is_bit(r257run_type(C));
return R;
}
void r257gc_info_in(T257* C,T0* a1){
X52gc_info_in(r257run_type(C),a1);
}
void r257gc_define2(T257* C){
X52gc_define2(r257run_type(C));
}
T0* r382add_comment(T382* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r382mapping_c_target(T382* C,T0* a1){
X52mapping_cast(/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*4*/)))->_current_type/*8*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'C');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
T2 r382to_integer(void){
T2 R=0;
r382error(/*(IRF4.1start_position*/M68/*)*/,((T0*)ms14_45441));
return R;
}
void r382error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r382result_type(T382* C){
T0* R=NULL;
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*4*/)))->_current_type/*8*/);
return R;
}
T0* r382static_result_base_class(T382* C){
T0* R=NULL;
R=X52base_class(r382result_type(C));
return R;
}
void r382compile_to_c(T382* C){
/*[IF*/
if(X52is_user_expanded(r382result_type(C))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\52');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325print_current((T325*)(oBC13cpp));
}
void r292c_mapping_native_array_procedure(T0* a1,T0* a2){
T0* _elt_type=NULL;
_elt_type=X52run_type(r258item((T258*)(X52generic_list((/*RF2*/(((T337*)a1))->_current_type/*8*/))),1));
/*[IF*/
if((a2)==((void*)(((T0*)ms15_1035)))){
/*[IF*/
if(X52is_user_expanded(_elt_type)){
/*[IF*/
if(X52is_dummy_expanded(_elt_type)){
/*[IF*/
if(r325cannot_drop_all((T325*)(oBC13cpp))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
/*FI]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6800));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_372));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_652));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_12670));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_elt_type));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_604));
/*]*/
}
/*FI]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_264));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_582));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r292body_long_bit_put01(T0* a1,T3 a2,T3 a3,T3 a4){
r7append((T7*)(oBC288body),((T0*)ms292_247835));
r2append_in(X276unsigned_padding(a1),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_280));
r7extend((T7*)(oBC288body),a4);
r7append((T7*)(oBC288body),((T0*)ms292_48804));
r7extend((T7*)(oBC288body),a4);
r7append((T7*)(oBC288body),((T0*)ms292_411));
r2append_in(X276unsigned_padding(a1),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_82123));
r7extend((T7*)(oBC288body),a2);
r7append((T7*)(oBC288body),((T0*)ms292_202));
r7extend((T7*)(oBC288body),a3);
r7append((T7*)(oBC288body),((T0*)ms292_122910));
}
void r292c_mapping_real_function(T0* a1,T0* a2){
/*[IF*/
if((r333arg_count(((T333*)a1)))==(1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_12978))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2988));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r292c_mapping_standard_twin(T0* a1,T0* a2){
/*[IF*/
if(X52is_basic_eiffel_expanded(a2)){
r325put_target_as_value((T325*)(oBC13cpp));
}
else if(X52is_expanded(a2)){
/*[IF*/
if(X52is_dummy_expanded(a2)){
r325put_target_as_target((T325*)(oBC13cpp));
}
else if(X52is_native_array(a2)){
r325put_target_as_target((T325*)(oBC13cpp));
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
void r292c_mapping_procedure(T0* a1,T0* a2,T0* a3){
T0* _t=NULL;
/*[IF*/
if(((((T0*)ms15_1772))==((void*)(a3)))||((((T0*)ms15_27443))==((void*)(a3)))){
_t=(/*RF2*/(((T337*)a1))->_current_type/*8*/);
/*[IF*/
if(X52is_reference(_t)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_824));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_t));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_369a));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_5691));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_t));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_369));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_604));
/*]*/
}
else if(X52is_basic_eiffel_expanded(_t)){
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_9954));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_459));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_t));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_4277));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_16800));
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_22248))==((void*)(a3))){
/*[IF*/
if(r325target_cannot_be_dropped((T325*)(oBC13cpp))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_5768));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
else if((((T0*)ms15_15650))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2420));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6670));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_960));
/*]*/
}
else if((((T0*)ms15_53940))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_21789));
/*]*/
}
else if((((T0*)ms15_23829))==((void*)(a3))){
/*[IF*/
if(r325target_cannot_be_dropped((T325*)(oBC13cpp))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2410));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
else if((((T0*)ms15_13752))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_17745));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_604));
/*]*/
}
else if((((T0*)ms15_15070))==((void*)(a3))){
r325put_c_inline_c((T325*)(oBC13cpp));
}
else if((((T0*)ms15_15570))==((void*)(a3))){
r325put_c_inline_h((T325*)(oBC13cpp));
}
else if((((T0*)ms15_21300))==((void*)(a3))){
r325put_trace_switch((T325*)(oBC13cpp));
}
else if((((T0*)ms15_17448))==((void*)(a2))){
r292c_mapping_native_array_procedure(a1,a3);
}
else if((((T0*)ms15_1980))==((void*)(a2))){
r292c_mapping_bit_procedure(a1,a3);
}
else if((((T0*)ms15_33990))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_8360));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_9350));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_4656));
/*]*/
}
else if((((T0*)ms15_27580))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_131666));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_115444));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_23226));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6071));
/*]*/
}
else if((((T0*)ms15_12915))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_17190));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6740));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_604));
/*]*/
}
else if((((T0*)ms15_12915a))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_17520));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_604));
/*]*/
}
else if((((T0*)ms15_32730))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_43902));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
/*]*/
}
/*FI]*/
}
void r292c_mapping_integer_function(T0* a1,T0* a2){
/*[IF*/
if((r333arg_count(((T333*)a1)))==(1)){
/*[IF*/
if((((T0*)ms15_47))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1290));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IF*/
if((((T0*)ms15_47))==((void*)(a2))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((((T0*)ms15_188))==((void*)(a2))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\57');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_368))==((void*)(a2))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\45');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_22716))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2976));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((T0*)ms15_7326))==((void*)(a2))){
r325put_target_as_value((T325*)(oBC13cpp));
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r292c_mapping_double_function(T0* a1,T0* a2){
/*[IF*/
if((((T0*)ms15_94))==((void*)(a2))){
r43add_lib_math((T43*)(r292system_tools()));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2110));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_8536));
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((T0*)ms15_22824a))==((void*)(a2))){
r43add_lib_math((T43*)(r292system_tools()));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms15_2730a));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_56720))==((void*)(a2))){
r43add_lib_math((T43*)(r292system_tools()));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_10692));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((T0*)ms15_9051))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2982));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((/*RF2*/(((T7*)a2))->_count/*4*/))<=(2))&&((r333arg_count(((T333*)a1)))==(1))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r43add_lib_math((T43*)(r292system_tools()));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a2);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r292c_define_function_bit(T0* a1,T0* a2){
T6 _no_check=0;
T0* _type_bit=NULL;
_type_bit=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
if(NULL!=(_type_bit)){
switch(((T0*)_type_bit)->id){
case 275:case 277:
break;
default:
_type_bit=NULL;
}
}_no_check=r47no_check((T47*)(oBC13run_control));
/*[IF*/
if((((T0*)ms15_2765a))==((void*)(a2))){
}
else if((((T0*)ms15_1724))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r7copy((T7*)(oBC288body),((T0*)ms292_94858));
r2append_in(X276unsigned_padding(_type_bit),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_256410));
r2append_in(X276unsigned_padding(_type_bit),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_42432));
r333c_define_with_body(((T333*)a1),oBC288body);
}
else if(_no_check){
r7copy((T7*)(oBC288body),((T0*)ms292_25146));
r2append_in(X276nb(_type_bit),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_3730));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
else if((((T0*)ms15_552))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
r333c_define_with_body(((T333*)a1),((T0*)ms292_9000));
}
/*FI]*/
}
else if((((T0*)ms15_564))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
r333c_define_with_body(((T333*)a1),((T0*)ms292_9020));
}
/*FI]*/
}
else if((((T0*)ms15_1744))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r7copy((T7*)(oBC288body),((T0*)ms292_94858a));
r2append_in(X276unsigned_padding(_type_bit),oBC288body);
r7extend((T7*)(oBC288body),((T3)'\53'));
r2append_in((X276nb(_type_bit))-(1),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_185088));
r2append_in((X276nb(_type_bit))-(1),oBC288body);
r7extend((T7*)(oBC288body),((T3)'\53'));
r2append_in(X276unsigned_padding(_type_bit),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_42432a));
r333c_define_with_body(((T333*)a1),oBC288body);
}
else if(_no_check){
r7copy((T7*)(oBC288body),((T0*)ms292_12825));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
/*FI]*/
}
void r292c_define_procedure(T0* a1,T0* a2,T0* a3){
/*[IF*/
if((((T0*)ms15_1980))==((void*)(a2))){
r292c_define_procedure_bit(a1,a3);
}
/*FI]*/
}
void r292c_mapping_native_array_function(T0* a1,T0* a2){
T6 _tcbd=0;
T0* _elt_type=NULL;
T0* _ct=NULL;
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_elt_type=X52run_type(r258item((T258*)(X52generic_list(_ct)),1));
/*[IF*/
if((((T0*)ms15_27272))==((void*)(a2))){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r7copy((T7*)(oBC292tmp_string),((T0*)ms14_6996));
r7extend((T7*)(oBC292tmp_string),((T3)'\50'));
X52c_type_for_argument_in(_elt_type,oBC292tmp_string);
r7extend((T7*)(oBC292tmp_string),((T3)'\51'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC292tmp_string);
/*]*/
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((a2)==((void*)(((T0*)ms15_6702)))){
/*[IF*/
if((X52expanded_initializer(_elt_type))==((void*)(NULL))){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_492));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(_ct));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6705));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
r7copy((T7*)(oBC292tmp_string),((T0*)ms292_6456));
X52c_type_for_result_in(_elt_type,oBC292tmp_string);
r7append((T7*)(oBC292tmp_string),((T0*)ms292_656));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC292tmp_string);
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_990));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id((/*RF2*/(((T333*)a1))->_current_type/*8*/)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((a2)==((void*)(((T0*)ms15_22788)))){
_tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IF*/
if(_tcbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_264a));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\135');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r292c_define_procedure_bit(T0* a1,T0* a2){
T0* _type_bit=NULL;
_type_bit=(/*RF2*/(((T337*)a1))->_current_type/*8*/);
if(NULL!=(_type_bit)){
switch(((T0*)_type_bit)->id){
case 275:case 277:
break;
default:
_type_bit=NULL;
}
}/*[IF*/
if((((T0*)ms15_2440))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r292body_long_bit_put01(_type_bit,((T3)'\46'),((T3)'\176'),((T3)'1'));
r337c_define_with_body(((T337*)a1),oBC288body);
}
/*FI]*/
}
else if((((T0*)ms15_2445))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r292body_long_bit_put01(_type_bit,((T3)'\174'),((T3)'\40'),((T3)'1'));
r337c_define_with_body(((T337*)a1),oBC288body);
}
/*FI]*/
}
else if((((T0*)ms15_1035))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC288body),((T0*)ms292_3241));
r292body_long_bit_put01(_type_bit,((T3)'\174'),((T3)'\40'),((T3)'2'));
r7append((T7*)(oBC288body),((T0*)ms14_1700));
r292body_long_bit_put01(_type_bit,((T3)'\46'),((T3)'\176'),((T3)'2'));
r337c_define_with_body(((T337*)a1),oBC288body);
}
/*FI]*/
}
/*FI]*/
}
void r292c_define_function(T0* a1,T0* a2,T0* a3){
T0* _rf7=NULL;
T0* _rf=NULL;
T0* _rc=NULL;
T0* _ct=NULL;
T0* _elt_type=NULL;
/*[IF*/
if((((T0*)ms15_1980))==((void*)(a2))){
r292c_define_function_bit(a1,a3);
}
else if((((T0*)ms15_6307))==((void*)(a2))){
/*[IF*/
if(((((T0*)ms15_11144))==((void*)(a3)))||((((T0*)ms15_40358))==((void*)(a3)))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_rc=X52run_class(_ct);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
}
else if(X52is_native_array(_ct)){
}
else if(X52is_bit(_ct)){
}
else if(r50is_tagged(((T50*)_rc))){
r333c_define_with_body(((T333*)a1),((T0*)ms292_143961));
}
else if((r50writable_attributes(((T50*)_rc)))==((void*)(NULL))){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
}
else{
r333c_define_with_body(((T333*)a1),((T0*)ms292_1004));
}
/*FI]*/
}
else if(r47boost((T47*)(oBC13run_control))){
}
else{
r333c_define_with_body(((T333*)a1),((T0*)ms292_57064));
}
/*FI]*/
}
else if((((T0*)ms15_25584))==((void*)(a3))){
r292c_define_standard_twin(a1,(/*RF2*/(((T333*)a1))->_current_type/*8*/));
}
else if((((T0*)ms15_1800))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_rc=X52run_class(_ct);
_rf=r50get_copy(((T50*)_rc));
_rf7=_rf;
if(NULL!=(_rf7)){
switch(((T0*)_rf7)->id){
case 337:
break;
default:
_rf7=NULL;
}
}/*[IF*/
if((_rf7)!=((void*)(NULL))){
r292c_define_standard_twin(a1,_ct);
}
else{
r292c_define_twin(a1,_ct,_rc,_rf);
}
/*FI]*/
}
else if((((T0*)ms15_13491))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
r333c_define_with_body(((T333*)a1),((T0*)ms292_1395));
}
else if(X52is_native_array(_ct)){
r66add_type(_ct,((T0*)ms14_4684050));
r66print_as_fatal_error((T66*)(oBC13eh));
}
else{
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r50deep_twin_in((T50*)(X52run_class(_ct)),oBC288body);
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
else if((((T0*)ms15_24960))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
r333c_define_with_body(((T333*)a1),((T0*)ms292_4631));
}
else if(X52is_native_array(_ct)){
r66add_type(_ct,((T0*)ms14_4684050));
r66print_as_fatal_error((T66*)(oBC13eh));
}
else{
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r50is_deep_equal_in((T50*)(X52run_class(_ct)),oBC288body);
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
/*FI]*/
}
else if((((T0*)ms15_17448))==((void*)(a2))){
/*[IF*/
if((((T0*)ms15_6702))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_elt_type=X52run_type(r258item((T258*)(X52generic_list(_ct)),1));
/*[IF*/
if((X52expanded_initializer(_elt_type))!=((void*)(NULL))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
/*]*/
r7append((T7*)(oBC288body),((T0*)ms292_286));
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/)){
r7append((T7*)(oBC288body),((T0*)ms292_26895));
r2append_in(X52id(_elt_type),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_166));
}
else{
r7append((T7*)(oBC288body),((T0*)ms292_16640));
r2append_in(X52id(_ct),oBC288body);
r7extend((T7*)(oBC288body),((T3)'\50'));
}
/*FI]*/
r7append((T7*)(oBC288body),((T0*)ms292_5640));
r2append_in(X52id(_ct),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_9190));
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r7append((T7*)(oBC288body),((T0*)ms292_1188));
}
/*FI]*/
r7append((T7*)(oBC288body),((T0*)ms292_3663));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
void r292c_mapping_function(T0* a1,T0* a2,T0* a3){
T0* _type_bit=NULL;
T6 _basic_eq=0;
T0* _rf7=NULL;
T0* _rf=NULL;
T0* _rc=NULL;
T0* _ct=NULL;
T6 _cbd=0;
/*[IF*/
if((((T0*)ms15_7380))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms15_7380));
/*]*/
}
else if((((T0*)ms15_2730))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms15_2730));
/*]*/
}
else if((((T0*)ms15_7530))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms15_7530));
/*]*/
}
else if((((T0*)ms15_6307))==((void*)(a2))){
/*[IF*/
if((((T0*)ms15_30660))==((void*)(a3))){
r325put_generating_type((T325*)(oBC13cpp),(/*RF2*/(((T333*)a1))->_current_type/*8*/));
}
else if((((T0*)ms15_13995))==((void*)(a3))){
r325put_generator((T325*)(oBC13cpp),(/*RF2*/(((T333*)a1))->_current_type/*8*/));
}
else if((((T0*)ms15_16850))==((void*)(a3))){
r325put_to_pointer((T325*)(oBC13cpp));
}
else if((((T0*)ms15_17886))==((void*)(a3))){
r325put_object_size((T325*)(oBC13cpp),(/*RF2*/(((T333*)a1))->_current_type/*8*/));
}
else if(((((T0*)ms15_11144))==((void*)(a3)))||((((T0*)ms15_40358))==((void*)(a3)))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_rc=X52run_class(_ct);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
_basic_eq=1;
}
else if(X52is_native_array(_ct)){
_basic_eq=1;
}
else if(X52is_bit(_ct)){
_type_bit=_ct;
if(NULL!=(_type_bit)){
switch(((T0*)_type_bit)->id){
case 275:case 277:
break;
default:
_type_bit=NULL;
}
}_basic_eq=!(X276is_c_unsigned_ptr(_type_bit));
}
/*FI]*/
/*[IF*/
if(_basic_eq){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if(r50is_tagged(((T50*)_rc))){
r333default_mapping_function(((T333*)a1));
}
else if((r50writable_attributes(((T50*)_rc)))==((void*)(NULL))){
/*[IF*/
if(r47boost((T47*)(oBC13run_control))){
_cbd=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'1');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if(r47boost((T47*)(oBC13run_control))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_6168));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(X52is_user_expanded(_ct)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_12670a));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(((T50*)_rc))->_id/*4*/));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_25584))==((void*)(a3))){
r292c_mapping_standard_twin(a1,(/*RF2*/(((T333*)a1))->_current_type/*8*/));
}
else if((((T0*)ms15_1800))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
_rc=X52run_class(_ct);
_rf=r50get_copy(((T50*)_rc));
_rf7=_rf;
if(NULL!=(_rf7)){
switch(((T0*)_rf7)->id){
case 337:
break;
default:
_rf7=NULL;
}
}/*[IF*/
if((_rf7)!=((void*)(NULL))){
r292c_mapping_standard_twin(a1,_ct);
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_13491))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
/*[IF*/
if(X52is_basic_eiffel_expanded(_ct)){
r325put_target_as_target((T325*)(oBC13cpp));
}
else if(X52is_user_expanded(_ct)){
r333default_mapping_function(((T333*)a1));
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_85731));
/*]*/
r333default_mapping_function(((T333*)a1));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_164));
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_24960))==((void*)(a3))){
_ct=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
r333default_mapping_function(((T333*)a1));
}
else if((((T0*)ms15_60104))==((void*)(a3))){
_cbd=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if(X52is_basic_eiffel_expanded((/*RF2*/(((T333*)a1))->_current_type/*8*/))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'1');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_34432))==((void*)(a3))){
_cbd=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if(X52is_expanded((/*RF2*/(((T333*)a1))->_current_type/*8*/))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'1');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_8505))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms15_8505));
/*]*/
}
else if((((T0*)ms15_9436))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_106656));
/*]*/
}
else if((((T0*)ms15_14193))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_304794));
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_17448))==((void*)(a2))){
r292c_mapping_native_array_function(a1,a3);
}
else if((((T0*)ms15_6643))==((void*)(a2))){
r292c_mapping_integer_function(a1,a3);
}
else if((((T0*)ms15_1168))==((void*)(a2))){
r292c_mapping_real_function(a1,a3);
}
else if((((T0*)ms15_4728))==((void*)(a2))){
r292c_mapping_double_function(a1,a3);
}
else if((((T0*)ms15_6405))==((void*)(a2))){
/*[IF*/
if((((T0*)ms15_9408))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_339));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1850));
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IF*/
if((((T0*)ms15_8211))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1316));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_628));
/*]*/
}
/*FI]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_9801))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_270));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a3);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_6776))==((void*)(a2))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_5474));
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_7928))==((void*)(a2))){
_cbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r7copy((T7*)(oBC292tmp_string),((T0*)ms292_1228));
r7append((T7*)(oBC292tmp_string),a3);
r7to_upper((T7*)(oBC292tmp_string));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC292tmp_string);
/*]*/
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_10528))==((void*)(a3))){
_cbd=r325cannot_drop_all((T325*)(oBC13cpp));
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1495));
/*]*/
/*[IF*/
if(_cbd){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_1664))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_12688));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((T0*)ms15_11336))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_13897));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1335));
/*]*/
}
else if((((T0*)ms15_11376))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_13897a));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1360));
/*]*/
}
else if((((T0*)ms15_34528))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_32407));
/*]*/
}
else if((((T0*)ms15_1980))==((void*)(a2))){
r292c_mapping_bit_function(a1,a3);
}
else if((((T0*)ms15_21192))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_6996));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_522));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else if((((T0*)ms15_12744))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_12727));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else if((((T0*)ms15_13707))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_84900));
/*]*/
}
else if((((T0*)ms15_26156))==((void*)(a3))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_72496));
/*]*/
}
else if(r7has_prefix(((T7*)a3),((T0*)ms14_6504))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a3);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(((/*RF2*/(((T333*)a1))->_arguments/*32*/))!=((void*)(NULL))){
r325put_arguments((T325*)(oBC13cpp));
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r292system_tools(void){
if(fBC13system_tools==0){fBC13system_tools=1;{
{T43*n=((T43*)malloc(sizeof(*n))/*17*/);
*n=M43;
oBC13system_tools=((T0*)n);
r43make(n);
}
}}
return oBC13system_tools;
}
T6 r292stupid_switch_procedure(T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((((T0*)ms15_15650))==((void*)(a2))){
R=1;
}
/*FI]*/
return R;
}
T6 r292stupid_switch_function(T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((((((((T0*)ms15_29246))==((void*)(a2)))||((((T0*)ms15_30660))==((void*)(a2))))||((((T0*)ms15_13995))==((void*)(a2))))||((((T0*)ms15_16850))==((void*)(a2))))||((((T0*)ms15_7530))==((void*)(a2)))){
R=1;
}
/*FI]*/
return R;
}
T0*oBC292tmp_string=NULL;
void r292c_define_standard_twin(T0* a1,T0* a2){
/*[IF*/
if(X52is_basic_eiffel_expanded(a2)){
}
else if(X52is_expanded(a2)){
/*[IF*/
if(X52is_dummy_expanded(a2)){
}
else if(X52is_native_array(a2)){
}
else{
r333c_define_with_body(((T333*)a1),((T0*)ms292_43401));
}
/*FI]*/
}
else{
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/)){
r7copy((T7*)(oBC288body),((T0*)ms292_14894));
}
else{
r7copy((T7*)(oBC288body),((T0*)ms292_549));
r7append((T7*)(oBC288body),((T0*)ms14_5327));
X52gc_call_new_in(a2,oBC288body);
r7append((T7*)(oBC288body),((T0*)ms14_330));
}
/*FI]*/
r7append((T7*)(oBC288body),((T0*)ms292_824a));
r2append_in(X52id(a2),oBC288body);
r7append((T7*)(oBC288body),((T0*)ms292_3213));
r333c_define_with_body(((T333*)a1),oBC288body);
}
/*FI]*/
}
void r292c_define_twin(T0* a1,T0* a2,T0* a3,T0* a4){
T2 _id=0;
r333c_opening(((T333*)a1));
/*[IF*/
if(X52is_reference(a2)){
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_is_off/*0*/)){
_id=(/*RF2*/(((T50*)a3))->_id/*4*/);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_14894a));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_824aa));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_id);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_4374));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_id);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
else{
r7copy((T7*)(oBC288body),((T0*)ms292_7510));
X52gc_call_new_in(a2,oBC288body);
r7append((T7*)(oBC288body),((T0*)ms14_330));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC288body);
/*]*/
}
/*FI]*/
}
/*FI]*/
r325inside_twin((T325*)(oBC13cpp),a4);
r333c_closing(((T333*)a1));
}
void r292fe_long_bit(T0* a1){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position(a1),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms292_92690);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)a1))->_current_type/*8*/),((T0*)ms292_452295));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r292mapping_small_bit_put01(T0* a1,T3 a2,T3 a3,T2 a4){
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=a2;
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_202a));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=a3;
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_8772));
/*]*/
/*[IF*/
if(X276is_c_char(a1)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1656));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_993));
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2946));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X276nb(a1));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_170));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),a4);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1698));
/*]*/
}
T6 r292use_current(T0* a1){
T6 R=0;
T0* _n=NULL;
_n=X82to_string(/*SSFRF4*//*X289first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(((T291*)a1))->_names/*8*/))))->_first/*0*/)/*)*/);
/*[IF*/
if((((T0*)ms15_8505))==((void*)(_n))){
}
else if((((T0*)ms15_12744))==((void*)(_n))){
}
else if((((T0*)ms15_9436))==((void*)(_n))){
}
else if((((T0*)ms15_12915))==((void*)(_n))){
}
else if((((T0*)ms15_13752))==((void*)(_n))){
}
else if((((T0*)ms15_15650))==((void*)(_n))){
}
else{
R=1;
}
/*FI]*/
return R;
}
void r292c_mapping_bit_procedure(T0* a1,T0* a2){
T0* _type_bit=NULL;
_type_bit=(/*RF2*/(((T337*)a1))->_current_type/*8*/);
if(NULL!=(_type_bit)){
switch(((T0*)_type_bit)->id){
case 275:case 277:
break;
default:
_type_bit=NULL;
}
}/*[IF*/
if((a2)==((void*)(((T0*)ms15_2440)))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r337default_mapping_procedure(((T337*)a1));
}
else{
/*[IRF3.6mapping_small_bit_put_0*/{T0* b1=_type_bit;
T2 b2=1;
r292mapping_small_bit_put01(b1,((T3)'\46'),((T3)'\176'),b2);
}/*]*/
}
/*FI]*/
}
else if((a2)==((void*)(((T0*)ms15_2445)))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r337default_mapping_procedure(((T337*)a1));
}
else{
/*[IRF3.6mapping_small_bit_put_1*/{T0* b1=_type_bit;
T2 b2=1;
r292mapping_small_bit_put01(b1,((T3)'\174'),((T3)'\40'),b2);
}/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r337default_mapping_procedure(((T337*)a1));
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_741));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_522));
/*]*/
/*[IRF3.6mapping_small_bit_put_1*/{T0* b1=_type_bit;
T2 b2=2;
r292mapping_small_bit_put01(b1,((T3)'\174'),((T3)'\40'),b2);
}/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_5139));
/*]*/
/*[IRF3.6mapping_small_bit_put_0*/{T0* b1=_type_bit;
T2 b2=2;
r292mapping_small_bit_put01(b1,((T3)'\46'),((T3)'\176'),b2);
}/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
void r292c_mapping_bit_function(T0* a1,T0* a2){
T6 _boost=0;
T0* _type_bit=NULL;
_type_bit=(/*RF2*/(((T333*)a1))->_current_type/*8*/);
if(NULL!=(_type_bit)){
switch(((T0*)_type_bit)->id){
case 275:case 277:
break;
default:
_type_bit=NULL;
}
}_boost=r47boost((T47*)(oBC13run_control));
/*[IF*/
if((((T0*)ms15_2765a))==((void*)(a2))){
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X276nb(_type_bit));
/*]*/
}
else if((((T0*)ms15_1724))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r333default_mapping_function(((T333*)a1));
}
else if(_boost){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_17459));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_820));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X276nb(_type_bit));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_170a));
/*]*/
r325put_arguments((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_2736));
/*]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_564))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else if(_boost){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_820a));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_552))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else if(_boost){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_804));
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_1035a))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\136');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_450))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\174');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_1011))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
X276mapping_cast(_type_bit);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\176');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_921))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r292fe_long_bit(a1);
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_ith_argument((T325*)(oBC13cpp),1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
else if((((T0*)ms15_1744))==((void*)(a2))){
/*[IF*/
if(X276is_c_unsigned_ptr(_type_bit)){
r333default_mapping_function(((T333*)a1));
}
else if(_boost){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_17459a));
/*]*/
r325put_target_as_target((T325*)(oBC13cpp));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms292_1050));
/*]*/
}
else{
r333default_mapping_function(((T333*)a1));
}
/*FI]*/
}
else if((((T0*)ms15_22716))==((void*)(a2))){
r325put_target_as_value((T325*)(oBC13cpp));
}
else if((((T0*)ms15_16770))==((void*)(a2))){
r325put_target_as_value((T325*)(oBC13cpp));
}
/*FI]*/
}
void r77check_expanded_with(T77* C,T0* a1){
/*[IF*/
if(((/*RF2*/((T79*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/))>(1)){
r66add_type(a1,((T0*)ms14_23520));
r66add_position((/*RF2*/((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),1)))->_start_position/*0*/));
r66add_position((/*RF2*/((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),2)))->_start_position/*0*/));
/*[IRF3.2fatal_error_vtec_2*/r77fatal_error(((T0*)ms13_570704));
/*]*/
}
/*FI]*/
r78check_expanded_with((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),1)),a1);
}
T0* r77root_procedure_name(T77* C,T0* a1){
T0* R=NULL;
T2 _i=0;
_i=(/*RF2*/((T79*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/);
while (!(((_i)==(0))||((R)!=((void*)(NULL)))))
{
R=r78root_procedure_name((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),_i)),a1);
_i=(_i)-(1);
}
return R;
}
void r77make(T77* C,T0* a1){
{T79*n=((T79*)malloc(sizeof(*n))/*16*/);
*n=M79;
r79with_capacity(n,4,1);
(/*SFN*/C->_list)=((T0*)n);
}
r79add_last((T79*)((/*RF2*/(C)->_list/*0*/)),a1);
}
void r77fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
T0* r77expanded_initializer(T77* C,T0* a1){
T0* R=NULL;
R=r78expanded_initializer((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),1)),a1);
return R;
}
T0* r77get_clause(T77* C,T0* a1){
T0* R=NULL;
T2 _i=0;
_i=1;
while (!(((_i)>((/*RF2*/((T79*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/)))||(r78has((T78*)(r79item((T79*)((/*RF2*/(C)->_list/*0*/)),_i)),a1))))
{
_i=(_i)+(1);
}
/*[IF*/
if((_i)<=((/*RF2*/((T79*)((/*RF2*/(C)->_list/*0*/)))->_upper/*8*/))){
R=r79item((T79*)((/*RF2*/(C)->_list/*0*/)),_i);
}
/*FI]*/
return R;
}
T68 r77start_position(T77* C){
T68 R={NULL,0};
R=(/*RF2*/((T78*)(/*(IRF4.6first*/((/*RF2*/((T79*)((/*RF2*/(C)->_list/*0*/)))->_storage/*0*/))[0]/*)*/))->_start_position/*0*/);
return R;
}
void r46put_string(T46* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/(((T7*)a1))->_count/*4*/))))
{
/*[IRF3.6put_character*/{T46* C1=C;
T3 b1=/*(IRF4.6item*/((/*RF2*/(((T7*)a1))->_storage/*0*/))[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stderr)));
}/*]*/
_i=(_i)+(1);
}
}
void r46put_integer(T46* C,T2 a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC37tmp_string))))->_count)=(0);
/*]*/
r2append_in(a1,oBC37tmp_string);
r46put_string(C,oBC37tmp_string);
}
void r109compile_to_c_old(T109* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
X104compile_to_c_old(X108item((/*RF2*/(C)->_list/*12*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}
T0* r109type_any(void){
if(fBC13type_any==0){fBC13type_any=1;{
T68 _unknown_position={NULL,0};
{T259*n=((T259*)malloc(sizeof(*n))/*8*/);
*n=M259;
oBC13type_any=((T0*)n);
r259make(n,_unknown_position);
}
}}
return oBC13type_any;
}
T0* r109add_comment(T109* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r109mapping_c_target(T109* C,T0* a1){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_492));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_166));
/*]*/
r109compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
void r109afd_check(T109* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
X104afd_check(X108item((/*RF2*/(C)->_list/*12*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}
void r109c_declare_for_old(T109* C){
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
X104c_declare_for_old(X108item((/*RF2*/(C)->_list/*12*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
}
T6 r109use_current(T109* C){
T6 R=0;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!(((_i)==(0))||(R)))
{
R=X104use_current(X108item((/*RF2*/(C)->_list/*12*/),_i));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T0* r109to_runnable(T109* C,T0* a1){
T0* R=NULL;
T0* _elt=NULL;
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*20*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))==((void*)(NULL))){
_elt=r109type_any();
}
else{
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
_e=X104to_runnable(X108item((/*RF2*/(C)->_list/*12*/),_i),a1);
/*[IF*/
if((_e)==((void*)(NULL))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
{T68 se_tmp0;
r109error((*(se_tmp0=X104start_position(X108item((/*RF2*/(C)->_list/*12*/),_i)),&se_tmp0)),((T0*)ms109_63162));
}
_i=0;
}
else{
X108put((/*RF2*/(C)->_list/*12*/),_e,_i);
/*[IF*/
if((_elt)==((void*)(NULL))){
_elt=X104result_type(_e);
}
else{
_elt=X52smallest_ancestor(_elt,X104result_type(_e));
}
/*FI]*/
_i=(_i)-(1);
}
/*FI]*/
}
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_elt=X52run_type(_elt);
{T260*n=((T260*)malloc(sizeof(*n))/*20*/);
*n=M260;
r260make(n,(/*RF2*/(C)->_start_position/*4*/),_elt);
(/*SFN*/C->_result_type)=((T0*)n);
}
r50set_at_run_time((T50*)(r260run_class((T260*)((/*RF2*/(C)->_result_type/*16*/)))));
r260load_basic_features((T260*)((/*RF2*/(C)->_result_type/*16*/)));
R=((T0*)(C));
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
_e=X108item((/*RF2*/(C)->_list/*12*/),_i);
_e=r341implicit_cast((T341*)(oBC13conversion_handler),_e,_elt);
X108put((/*RF2*/(C)->_list/*12*/),_e,_i);
_i=(_i)-(1);
}
}
/*FI]*/
r361register((/*RF2*/(C)->_result_type/*16*/));
}
/*FI]*/
}
else if(((/*RF2*/(C)->_list/*12*/))==((void*)(NULL))){
R=((T0*)(C));
}
else{
{T109*n=((T109*)malloc(sizeof(*n))/*24*/);
*n=M109;
r109make(n,(/*RF2*/(C)->_start_position/*4*/),X108twin((/*RF2*/(C)->_list/*12*/)));
R=((T0*)n);
}
R=r109to_runnable(((T109*)R),a1);
}
/*FI]*/
return R;
}
T2 r109to_integer(T109* C){
T2 R=0;
r109error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
return R;
}
void r109error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r109static_result_base_class(void){
T0* R=NULL;
R=r49get_class(((T0*)ms15_1915));
return R;
}
void r109make(T109* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_list)=a2;
}
void r109assertion_check(T109* C,T3 a1){
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((_i)==(0)))
{
_e=X108item((/*RF2*/(C)->_list/*12*/),_i);
X104assertion_check(_e,a1);
_i=(_i)-(1);
}
}
/*FI]*/
}
void r109compile_to_c(T109* C){
T0* _e=NULL;
T6 _adr=0;
T0* _actual_type=NULL;
T0* _formal_type=NULL;
T2 _i=0;
r361c_call((/*RF2*/(C)->_result_type/*16*/));
_formal_type=X52run_type(r258item((T258*)((/*RF2*/((T260*)((/*RF2*/(C)->_result_type/*16*/)))->_generic_list/*8*/)),1));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))==((void*)(NULL))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
_adr=X52is_user_expanded(_formal_type);
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/));
/*]*/
_i=1;
while (!((_i)>(/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/))))
{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_108));
/*]*/
/*[IF*/
if(_adr){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
_e=X108item((/*RF2*/(C)->_list/*12*/),_i);
_actual_type=X52run_type(X104result_type(_e));
X104compile_to_c(_e);
_i=(_i)+(1);
}
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
T6 r109stupid_switch(T109* C,T0* a1){
T6 R=0;
T2 _i=0;
R=1;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((!(R))||((_i)==(0))))
{
R=X104stupid_switch(X108item((/*RF2*/(C)->_list/*12*/),_i),a1);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T6 r109is_pre_computable(T109* C){
T6 R=0;
T0* _e=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*12*/))==((void*)(NULL))){
R=1;
}
else if(X52is_string(r258item((T258*)((/*RF2*/((T260*)((/*RF2*/(C)->_result_type/*16*/)))->_generic_list/*8*/)),1))){
R=1;
_i=/*SSWARF2*//*X108upper*/(/*RF2*/((T108*)((/*RF2*/(C)->_list/*12*/)))->_upper/*12*/);
while (!((!(R))||((_i)==(0))))
{
_e=X108item((/*RF2*/(C)->_list/*12*/),_i);
R=X104is_pre_computable(_e);
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T0* r153runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r153fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
T6 r153call_proc_call_stupid_switch(T153* C,T0* a1){
T6 R=0;
/*[IF*/
{/*AT*/R=1;
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*12*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*12*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r153run_feature_for(T153* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
void r153make(T153* C,T0* a1,T0* a2){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
}
void r153fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r153run_feature_has_no_result(T153* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
r153fatal_error(((T0*)ms152_66627));
}
/*FI]*/
}
void r153run_feature_match(T153* C){
r153run_feature_has_no_result(C);
/*[IF*/
if((X334arguments((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
}
r153fatal_error(((T0*)ms153_50092));
}
/*FI]*/
}
T0* r153add_comment(T153* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r153compile_to_c(T153* C){
{T68 se_tmp0;
r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r153start_position(C),&se_tmp0)));
}
/*[IRF3.6call_proc_call_c2c*/{T153* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
}
void r153afd_check(T153* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
void r153collect_c_tmp(T153* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T6 r153use_current(T153* C){
T6 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*12*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T6 r153stupid_switch(T153* C,T0* a1){
T6 R=0;
R=r153call_proc_call_stupid_switch(C,a1);
return R;
}
T0* r153to_runnable(T153* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _t=NULL;
_t=r153runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_rf=r153run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_run_feature)=_rf;
r153run_feature_match(C);
R=((T0*)(C));
}
else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
R=((T0*)(C));
}
else{
{T153*n=((T153*)malloc(sizeof(*n))/*16*/);
*n=M153;
r153make(n,_t,(/*RF2*/(C)->_feature_name/*8*/));
R=((T0*)n);
}
R=r153to_runnable(((T153*)R),a1);
}
/*FI]*/
return R;
}
T0* r153make_runnable(T153* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_run_feature)=a3;
R=((T0*)(C));
}
else{
{T153*n=((T153*)malloc(sizeof(*n))/*16*/);
*n=M153;
r153make(n,a1,(/*RF2*/(C)->_feature_name/*8*/));
R=((T0*)n);
}
/*[IRF3.3set_run_feature*/((((T153*)(((T153*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
void r153finalize(T153* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*12*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
T68 r153start_position(T153* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
}
return R;
}
T0* r239to_runnable_integer(T239* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
T0* _ct=NULL;
/*[IF*/
if(((/*RF2*/(C)->_e_when/*4*/))==((void*)(NULL))){
(/*SFN*/C->_e_when)=a1;
_ct=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)(r49top_rf((T49*)(oBC13small_eiffel))))->_current_type/*8*/);
_e=X104to_runnable((/*RF2*/(C)->_expression/*8*/),_ct);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(X52is_integer(X104result_type(_e)))){
(/*SFN*/C->_expression)=_e;
(/*SFN*/C->_expression_value)=X104to_integer((/*RF2*/(C)->_expression/*8*/));
r232add_when_item_1((T232*)((/*RF2*/(C)->_e_when/*4*/)),(T0*)C);
}
else{
{T68 se_tmp0;
r239error((*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0)),((T0*)ms14_21528));
}
}
/*FI]*/
R=((T0*)(C));
}
else{
{T239*n=((T239*)malloc(sizeof(*n))/*16*/);
*n=M239;
/*[IRF3.3make*/((((T239*)(n)))->_expression)=((/*RF2*/(C)->_expression/*8*/));
/*]*/
R=((T0*)n);
}
R=r239to_runnable_integer(((T239*)R),a1);
}
/*FI]*/
return R;
}
T0* r239to_runnable_character(T239* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
T0* _ct=NULL;
/*[IF*/
if(((/*RF2*/(C)->_e_when/*4*/))==((void*)(NULL))){
(/*SFN*/C->_e_when)=a1;
_ct=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)(r49top_rf((T49*)(oBC13small_eiffel))))->_current_type/*8*/);
_e=X104to_runnable((/*RF2*/(C)->_expression/*8*/),_ct);
/*[IF*/
if(((_e)!=((void*)(NULL)))&&(X52is_character(X104result_type(_e)))){
(/*SFN*/C->_expression)=_e;
(/*SFN*/C->_expression_value)=X104to_integer((/*RF2*/(C)->_expression/*8*/));
r232add_when_item_1((T232*)((/*RF2*/(C)->_e_when/*4*/)),(T0*)C);
}
else{
{T68 se_tmp0;
r239error((*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0)),((T0*)ms14_25640));
}
}
/*FI]*/
R=((T0*)(C));
}
else{
{T239*n=((T239*)malloc(sizeof(*n))/*16*/);
*n=M239;
/*[IRF3.3make*/((((T239*)(n)))->_expression)=((/*RF2*/(C)->_expression/*8*/));
/*]*/
R=((T0*)n);
}
R=r239to_runnable_character(((T239*)R),a1);
}
/*FI]*/
return R;
}
T0* r239twin(T239* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T239*)R)=*C;
return R;
}
void r239error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T68 r239start_position(T239* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*8*/)),&se_tmp0));
}
return R;
}
void r229compile_to_c_old(T229* C){
X104compile_to_c_old((/*RF2*/(C)->_expression/*4*/));
}
T2 r229static_value(T229* C){
T2 R=0;
R=X104static_value((/*RF2*/(C)->_expression/*4*/));
return R;
}
T6 r229is_current(T229* C){
T6 R=0;
R=X104is_current((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r229dca_inline_argument(T229* C,T0* a1){
X104dca_inline_argument((/*RF2*/(C)->_expression/*4*/),a1);
}
T0* r229add_comment(T229* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r229mapping_c_target(T229* C,T0* a1){
X104mapping_c_target((/*RF2*/(C)->_expression/*4*/),a1);
}
void r229afd_check(T229* C){
X104afd_check((/*RF2*/(C)->_expression/*4*/));
}
void r229c_declare_for_old(T229* C){
X104c_declare_for_old((/*RF2*/(C)->_expression/*4*/));
}
T6 r229is_manifest_array(T229* C){
T6 R=0;
R=X104is_manifest_array((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r229collect_c_tmp(T229* C){
X104collect_c_tmp((/*RF2*/(C)->_expression/*4*/));
}
T6 r229use_current(T229* C){
T6 R=0;
R=X104use_current((/*RF2*/(C)->_expression/*4*/));
return R;
}
T0* r229to_runnable(T229* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
_e=X104to_runnable((/*RF2*/(C)->_expression/*4*/),a1);
/*[IF*/
if(((/*RF2*/(C)->_expression/*4*/))==((void*)(_e))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,_e,(/*RF2*/(C)->_comment/*8*/));
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r229to_integer(T229* C){
T2 R=0;
{T68 se_tmp0;
r229error((*(se_tmp0=r229start_position(C),&se_tmp0)),((T0*)ms14_45441));
}
return R;
}
T6 r229is_void(T229* C){
T6 R=0;
R=X104is_void((/*RF2*/(C)->_expression/*4*/));
return R;
}
T6 r229is_static(T229* C){
T6 R=0;
R=X104is_static((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r229error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r229result_type(T229* C){
T0* R=NULL;
R=X104result_type((/*RF2*/(C)->_expression/*4*/));
return R;
}
T6 r229c_simple(T229* C){
T6 R=0;
R=X104c_simple((/*RF2*/(C)->_expression/*4*/));
return R;
}
T6 r229can_be_dropped(T229* C){
T6 R=0;
R=X104can_be_dropped((/*RF2*/(C)->_expression/*4*/));
return R;
}
T0* r229static_result_base_class(T229* C){
T0* R=NULL;
R=X104static_result_base_class((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r229make(T229* C,T0* a1,T0* a2){
(/*SFN*/C->_expression)=a1;
(/*SFN*/C->_comment)=a2;
}
T6 r229is_manifest_string(T229* C){
T6 R=0;
R=X104is_manifest_string((/*RF2*/(C)->_expression/*4*/));
return R;
}
void r229assertion_check(T229* C,T3 a1){
X104assertion_check((/*RF2*/(C)->_expression/*4*/),a1);
}
void r229compile_to_c(T229* C){
X104compile_to_c((/*RF2*/(C)->_expression/*4*/));
}
T6 r229is_result(T229* C){
T6 R=0;
R=X104is_result((/*RF2*/(C)->_expression/*4*/));
return R;
}
T6 r229stupid_switch(T229* C,T0* a1){
T6 R=0;
R=X104stupid_switch((/*RF2*/(C)->_expression/*4*/),a1);
return R;
}
void r229mapping_c_arg(T229* C,T0* a1){
X104mapping_c_arg((/*RF2*/(C)->_expression/*4*/),a1);
}
T6 r229is_pre_computable(T229* C){
T6 R=0;
R=X104is_pre_computable((/*RF2*/(C)->_expression/*4*/));
return R;
}
T2 r229isa_dca_inline_argument(T229* C){
T2 R=0;
R=X104isa_dca_inline_argument((/*RF2*/(C)->_expression/*4*/));
return R;
}
T68 r229start_position(T229* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*4*/)),&se_tmp0));
}
return R;
}
T0* r154runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r154fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r154run_feature_match(T154* C,T0* a1){
r154run_feature_has_no_result(C);
X139match_with((/*RF2*/(C)->_arguments/*16*/),(/*RF2*/(C)->_run_feature/*12*/),a1);
}
T0* r154add_comment(T154* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r154with(T154* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r154run_feature_match(C,a5);
}
void r154afd_check(T154* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*16*/)));
}
/*FI]*/
}
void r154collect_c_tmp(T154* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*12*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*16*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*16*/)));
}
/*FI]*/
}
T6 r154use_current(T154* C){
T6 R=0;
T0* _s=NULL;
T0* _ms=NULL;
/*[IF*/
if((((T0*)ms15_15070))==((void*)(X82to_string((/*RF2*/(C)->_feature_name/*8*/))))){
_ms=r154arg1(C);
if(NULL!=(_ms)){
switch(((T0*)_ms)->id){
case 161:
break;
default:
_ms=NULL;
}
}/*[IF*/
if((_ms)!=((void*)(NULL))){
r366used_for_c_inline(_ms);
_s=(/*RF2*/(((T161*)_ms))->_to_string/*12*/);
R=r7has(((T7*)_s),((T3)'C'));
}
/*FI]*/
}
else{
R=r154standard_use_current(C);
}
/*FI]*/
return R;
}
T0* r154runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r154fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r154to_runnable(T154* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r154runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r154runnable_args((/*RF2*/(C)->_arguments/*16*/),a1);
_rf=r154run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r154run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*16*/))))){
R=((T0*)(C));
}
else{
{T154*n=((T154*)malloc(sizeof(*n))/*20*/);
*n=M154;
r154with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T0* r154make_runnable(T154* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_arguments)=a2;
(/*SFN*/C->_run_feature)=a3;
R=((T0*)(C));
}
else{
{T154*n=((T154*)malloc(sizeof(*n))/*20*/);
*n=M154;
r154make(n,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
R=((T0*)n);
}
/*[IRF3.3set_run_feature*/((((T154*)(((T154*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
void r154finalize(T154* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*12*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
T0* r154arg1(T154* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*16*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r154call_proc_call_stupid_switch(T154* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*16*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*16*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*12*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*12*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r154run_feature_for(T154* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
void r154make(T154* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
}
void r154fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r154run_feature_has_no_result(T154* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
}
r154fatal_error(((T0*)ms152_66627));
}
/*FI]*/
}
T6 r154standard_use_current(T154* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*16*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*12*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
void r154compile_to_c(T154* C){
{T68 se_tmp0;
r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r154start_position(C),&se_tmp0)));
}
/*[IRF3.6call_proc_call_c2c*/{T154* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
}
T6 r154stupid_switch(T154* C,T0* a1){
T6 R=0;
R=r154call_proc_call_stupid_switch(C,a1);
return R;
}
T68 r154start_position(T154* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
}
return R;
}
T0* r285try_to_undefine(T285* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
_fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X82undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
/*[IF*/
if((R)!=((void*)(NULL))){
X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r285merge_header_comments(C,R);
}
else{
r51fatal_undefine(((T51*)a2),a1);
}
/*FI]*/
return R;
}
void r285check_obsolete(T285* C,T68 a1){
/*[IF*/
if(((/*RF2*/(C)->_obsolete_mark/*24*/))!=((void*)(NULL))){
/*[IF*/
if(!((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/))){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=((T0*)ms90_19170);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/((T161*)((/*RF2*/(C)->_obsolete_mark/*24*/)))->_to_string/*12*/);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
{T68 se_tmp0;
r66add_position((*(se_tmp0=r285start_position(C),&se_tmp0)));
}
r66print_as_warning((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
T0* r285to_run_feature(T285* C,T0* a1,T0* a2){
T0* R=NULL;
{T386*n=((T386*)malloc(sizeof(*n))/*44*/);
*n=M386;
r386make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
return R;
}
void r285error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T6 r285is_not_mergeable_with(T285* C,T0* a1){
T6 R=0;
/*[IF*/
{/*AT*/R=(X90result_type(a1))!=((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else{
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
R=(X90arguments(a1))!=((void*)(NULL));
}
else{
R=(X90arguments(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_66660);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
R=1;
}
/*FI]*/
}
/*FI]*/
r285merge_header_comments(C,a1);
return R;
}
void r285set_header_comment(T285* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)>(1))){
(/*SFN*/C->_end_comment)=a1;
}
/*FI]*/
}
void r285set_rescue_compound(T285* C,T0* a1){
/*[IF*/
if((a1)!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r215start_position(((T215*)a1)),&se_tmp0)));
}
}
else{
{T68 se_tmp0;
r66add_position((*(se_tmp0=r285start_position(C),&se_tmp0)));
}
}
/*FI]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms284_124456);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r285make_routine(T285* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T285*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_header_comment)=a4;
(/*SFN*/C->_arguments)=a2;
(/*SFN*/C->_obsolete_mark)=a3;
(/*SFN*/C->_require_assertion)=a5;
}
void r285add_into(T285* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
{T68 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
/*[IF*/
if(r91has(((T91*)a1),X82to_key(_fn))){
_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X82to_string(_fn);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r285can_hide(T285* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if((/*(IRF4.1result_type*/NULL/*)*/)!=((void*)(X90result_type(a1)))){
/*[IF*/
{/*AT*/{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r285error((*(se_tmp0=r285start_position(C),&se_tmp0)),((T0*)ms90_64152));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(X90arguments(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL)))||((X90arguments(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r285error((*(se_tmp0=r285start_position(C),&se_tmp0)),((T0*)ms90_82612));
}
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r285error((*(se_tmp0=r285start_position(C),&se_tmp0)),((T0*)ms90_66660));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(r178is_a_in((T178*)((/*RF2*/(C)->_arguments/*20*/)),X90arguments(a1),a2))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r285start_position(C),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r285merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
void r285from_effective(T285* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
{T83*n=((T83*)malloc(sizeof(*n))/*8*/);
*n=M83;
/*[IRF3.3make_1*/((((T83*)(n)))->_first)=(a1);
/*]*/
(/*SFN*/C->_names)=((T0*)n);
}
r285make_routine(C,(/*RF2*/(C)->_names/*8*/),a2,NULL,NULL,a3);
/*[IRF3.3set_ensure_assertion*/((((T285*)(C)))->_ensure_assertion)=(a4);
/*]*/
(/*SFN*/C->_base_class)=a5;
}
void r285merge_header_comments(T285* C,T0* a1){
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
}
else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}
T68 r285start_position(T285* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}
void r246make(T246* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_writable)=a2;
}
void r246fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}